eyeBeam Change Log


>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Don't modify this file on the eyebeam-1-1-patch branch.

Use this file instead:
   ChangeLog-1-1-patch.txt
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<




Beta version 1.1 3003x
- Fix: I frames were not always generated for video


Beta version 1.1 3003w
- Fix: 2833 DTMF tones have been fixed


Beta version 1.1 3003v
- Fix: Tuning Wizard problems corrected (Mac only)
- Fix: Shifted letters now all work properly for dialing (Mac only)


Beta version 1.1 3003u
- Fix: 1986: IM: Get rid of the UI-level flooding protection
- Fix: 1989: Back out of 1975's fix because it mostly broke IsComposing
- Fix: 1990: Invalidate the buddy list during start-up to get around a bizarre bug


Beta version 1.1 3003t
- Fix: SRV lookups now ignore AAAA returns and do not do AAAA fallback lookups
- Fix: 1979: App cannot start up hidden
- Fix: 1907: Save settings when the user is logging out of Windows


Beta version 1.1 3003s
- Fix: Made the About box's version number clipboard-copy-able
- Fix: IM and presence features now implemented (Mac only)
- Fix: 1931: Setting's dialog did not register changes on string settings
- Fix: 1513: Set focus to buddy treeview if a click starts a drag
- Fix: Added DirectX hardware support for RGB24 mode (PC only)
- Fix: 1443: Stopped the phone from jumping around on dual monitor systems
- Fix: 1867: Do proper scrolling of the IM window
- Fix: 1945: Slider volumes were not accurately reflecting system volume level changes
- Fix: 1581: When creating a contact from a call, select the correct proxy in the dialog box
- Fix: 1947: NOw accepts prior license keys
- Add: 1339: Implemented F7 (Tuning Wiz) and F8 (Settings)
- Add: 1555: Implemented remaining X-PRO shortcuts
- Fix: 1887: Contact list: handle the change of a user's username or proxy
- Fix: 1970: Diagnostic window shouldn't scroll when there's a selection
- Add: 1974: Add Serial Number and License Key to About box
- Fix: 1975: Prevent the user from flooding his friends with IM messages


Beta version 1.1 3003r
- Fix: 1615: XTunnels v1 started on multiple proxies will now work
- Fix: 1862: Microphone/speaker sliders would jump slightly after being set
- Fix: 1833: RTCP was miscalculating sequence number starting at non one offset as jitter error and sequence number no longer starts at one
- Fix: RTP sequence number wrap now handled properly
- Fix: 1674: Clicking on a line to hangup was not displaying appropriate message
- Fix: Race condition on shutdown which was causing a crash and inproper clean-up
- Add: 1834: RTCP BYE packet now sent at end of stream
- Add: Diagnostic information for UI
- Add: License key validation for audio codecs
- Add: Remembering and restoring the expaned/collapsed state of all the nodes in the buddy tree
- Add: Give the user a message box if they try to delete a non-empty group


Beta version 1.1 3003q
- Add: A set of default tones are pre-installed in the audio manager
- Add: Method on settings to parse default settings already installed in SDK
- Add: Method to make audio timing more accurate on the sending
- Add: IID_InterfaceName for every interface declared
- Add: Mixer now tells VAD audio levels have changed to reset VAD state
- Add: Priority indication in video codecs
- Add: Setting to adjust interpolation method for video frames
- Add: DTMF tones A-D are now built into SDK.
- Fix: Performance boost in audio manager to not use strong random generator needlessly
- Fix: QueryInterface on interfaces should now respond to IID_InterfaceName
- Fix: Bug in QueryInterface which did not properly AddRef under all conditions
- Fix: Audio device settings in settings dialog should now be respected
- Fix: Simple sample is cleaned up
- Fix: Missing a few asynchronous APIs proxies in DLL manager
- Fix: DTMF now works again and has been broken since wideband codecs were added
- Fix: improved bilinear and nearest-neighbour image resizing algorithms for improved video quality
- Fix: Improvements to external timer accuracy
- Fix: small typos in setting's dialog
- Fix: Local video was duplicated in remote area 
- Fix: Annex J (deblocking filter) bug in H.263 implementation resulted in blurry images
- Fix: 1864: Audio device settings are correctly mapped in tuning wizard and audio settings device selection, upgrades old settings from 1.0
- Change: Proxy status dialog GUI improvements
- Change: removed GOB setting in advanced video section (now handled automatically)
- Change: moved VAD settings to device
- Change: Hardware accelerated video buffers are now forced to be in video memory (PC only)
- Change: Video frame drawing now uses asynchronous hardware blits for reduced CPU usage (PC only)
- Change: Video acceleration can now use distinct modes on each graphics card (for multi-monitor PCs only)
- Change: Removed depreciated video blit due to old privacy bitmap (PC only)
- Change: Altered settings names for audio devices
- Change: Proxy status dialog renamed to "SIP Account Status"
- Change: SIP Account dialog is now modeless, and can be kept open while the app is running
- Remove: Push-to-talk no longer part of SDK (was duplicate of other functionality already available)


Beta version 1.1 3003p
- Fix: 1756: Adjust Camera crashes after preview in Tuning Wizard (Mac only)
- Fix: 1771: Remote video freezes after Adjust Camera (Mac only)
- Change: Small changes to a few RTP manager API names
- Add: Recording is now implemented (Mac only)
- Add: AEC is now enabled, but implementation does nothing yet (Mac only)
- Add: RTCP reports frequency can now be triggered by an external source
- Change: Modifications to H.263 for improved video quality
- Add: eyeBeam Mac build implementation

Beta version 1.1 3003o
- Fix: IdleUI.def definition problem

Beta version 1.1 3003n
- Fix: Fixed rtpOnlyApplication sample

Beta version 1.1 3003m
- Fix: SDK compilation problem(Finalbuilder variable definition)

Beta version 1.1 3003l
- Fix: Reduced audio latency by 40-60ms
- Fix: AEC fixed, which broke when wideband codec support was added
- Fix: Changed name of IdleUI.dll since some virus scanners were incorrectly mistaking it as a virus based on it having the same name as a common trojan
- Change: When remote party starts sending video, make sure local video window is showing


Beta version 1.1 3003k
- Fix: Automatic Gain Control has been improved
- Fix: Improved CPU load on slow machines when in video call
- Fix: Up/Down audio resampling improved.  
- Fix: 1612: Added date/time for tooltip of missed/unanswered calls
- Fix: 1754: Problems dialing characters beyond ASCII
- Fix: 1330: Should not be allowed to create another "Banned" group
- Fix: 1690: Contacts created from a drag-and-dropped call are not saved
- Fix: 1501: Duplicate group names should not be allowed
- Fix: 1630: crash in debug mode when clicking a button quickly at startup
- Change: Voice activity detection algorithm changed to include statistical noise distributions
- Change: Audio now uses log scale


Release version 1.0 3003j
- Add: Speex wideband codec support
- Add: Processing at 16000 Hz rate by default
- Add: L16 wideband codec support
- Add: G722.2 wideband codec support (AMR-WB)
- Fix: Settings dialog now respects available codecs


Release version 1.0 3003i
- No fixes posted.


Release version 1.0 3003h
- Fix: GNNetCom USB bug


Release version 1.0 3003g
- Fix: Transfer bug is fixed


Release version 1.0 3003f
- Fix: Meter level was not working correctly
- Fix: Audio streams can now send outgoing streams to outgoing streams (SDK only)


Release version 1.0 3003e
- Fix: Added additional samples to SDK


Release version 1.0 3003d
- Fix: Update project file settings
- Add: Presence updates
- Add: Rtp sample for SDK


Release version 1.0 3003c
- Fix: removed audio/video knowledge out of RTP manager (SDK only)
- Fix: added interceptor API for RTP manager (SDK only)
- Add: RTP manager now works without a STUN manager (SDK only)
- Add: RTP manager now works without an ICE manager (SDK only)
- Add: Can now override delivery of RTP data (SDK only)


Release version 1.0 3003b
- Fix: Moved 2833 APIs in the SDK
- Add: Idle detection for windows for IM


Release version 1.0 3003a
- Fix: License keys can now be made different lengths
- Add: Security enhancement for ICE, only tests unknown ICE destinations based on validated ICE packets


Release version 1.0 3002z
- Fix: License key manager would allow some illegal keys
- Change: Added new samples to eyeBeam SDK


Release candidate version 1.0 3002y
- Fix: bug# 1557 -- NOTIFY is now sent if user cancels a call created by a refer
- Fix: bug# 1543 - implemented Suggested Resolution #2 of bug #1543
- Fix: bug# 1556 - offering video to peer w/ no video should display message on UI.
- Fix: bug# 1550 - Codecs changed by remote party would not take effect
- Fix: receiving codec ID was always set to remote codec ID
- Add: Hertz rate adjustment comment related to PESQ tests
- Add: NOT defining SUA_OPTION_USE_VIDEO will compile out video support in CCM
- Change: Clarification of settings on proxy page


Release candidate version 1.0 3002x
- Fix: bug #1548 - direct-dial-ip: use 'unknown@ip-address' for the From header if domain and/or username is not specified.
- Fix: bug #1552 - Settings change of user-name (if used as authorization username) will reREGISTER with the old user-name for authentication.
- Change: Improved rate control scheme for H.263
- Fix: MMX did not always detect properly
- Fix: High bandwidth video sometimes introduced video lag
- Fix: Reduced CPU usage for video by 15%


Release candidate version 1.0 3002w
- Fix: bug #1545 hold fails, UI should not say on-hold.


Release candidate version 1.0 3002v
- Fix: H.263 GOB mode was always enabled
- Fix: Periodic video hang when using profile 3 H.263
- Change: Scaled back max bitrate allowed for H.263
- Change: increased UDP socket buffer sizes to handle high bandwidth video


Release candidate version 1.0 3002u
- Fix: Crash bug in sockets that can happen due to timing
- Fix: bug #1533 direct-IP calling
- Fix: bug #1458 one-way audio w/ Broadsoft
- Fix: bug #1540 openIP FW should do keep port alive also.
- Fix: bug #1542 Incorrect CSeq in first UAS re-invite has been fixed
- Fix: bug #1439 Illegal SDP negotation is not spuriously reported
- Fix: bug #1518 same as 1439


Release candidate version 1.0 3002t
- Fix: Added deblocking filter for CIF H.263
- Fix: Video codecs update on the fly now
- Fix: Revised bitrates for H.263 codecs
- Fix: 1534 fixed related crash in SIP stack
- Fix: Modified SDK StopCamera to not modify render parameters
- Fix: Fixed diagnostic log output of firewall pinhole open-duration for value of 0xffffffff.


Release candidate version 1.0 3002s
- Fix: 1439: workaround; will work in the specified case, but will not report illegal negotiation in late sdp re-invite
- Fix: 1479: Character escaping is now supported. ':' remains escaped.
- Fix: 1527: Changing RTP inactivity timer cleared the first proxy
- Fix: 1528: Audio internal Hertz rate drop down list was sometimes incorrect
- Fix: 1508: if rport is different then the NAT port, will deregister and re-register to proxy w/ new port. Solves symmetric FW issue that's not using XTunnels.


Beta version 1.0 3002r
- Fix: 1507: ICE optimization to find alternative routes


Beta version 1.0 3002q
- Add: RTP IP address redirect


Beta version 1.0 3002p
- Fix: 1503: "Conference in XXXX" is not implemented
- Fix: 1507: ICE optimization to find alternative routes


Beta version 1.0 3002o
- Fix: 1500: Vertical scroll bar on the Contacts Drawer is always shown first on startup
- Fix: 1499: The application displays more than the maximum number of "Received and Missed" and "Dialed" calls 
- Fix: Revised adaptive jitter settings
- Fix: Fixed tab order in some dialogs
- Fix: SDP will now parse ICE even if ICE is not enabled
- Fix: Fixed one case of one way audio due to incorrect port used
- Add: Proxy status dialog now updates in real time


Beta version 1.0 3002n
- Removed the word Beta from the installer and all instances in the application


Beta version 1.0 3002m
- Fix: Removed AGC from application


Beta version 1.0 3002l
- Fix: 1470: AGC was reversed, put it on microphone not speaker
- Fix: 1468: Delayed onAnswer callback until after ACK is sent to re-invite 200
- Fix: Hz rate frame expanding would often replicate last sample instead of calculating mid point samples

Beta version 1.0 3002k
- Fix: Added dynamic adjusting VAD detection


Beta version 1.0 3002j
- Fix: 1464: Partial fix as 2833 DTMF was not being properly interpreted
- Fix: Audio in AGC setting was not hooked up properly
- Fix: Hz rate detection adjustment happens slower
- Fix: Hz rate detection and adjustment of Hz rate depending on playing rate
- Fix: VAD detection


Beta version 1.0 3002i
- Fix: AGC to adjust in small quantities for each sample rather than larger movements all at one


Beta version 1.0 3002h
- Fix: 1453: Fix some "Launch when Windows starts" problems
- Fix: 1454: Split up new and old voice mail messages
- Fix: 1455: If we know about voice mail messages for unregistred proxies, show that info
- Fix: Implemented new silence detection mechanism which does not require any calibration, hopefully make microphones with hardware AGC behave better


Beta version 1.0 3002g
- Fix: Fix SDK sample compile error
- Add: Added audio fade in to stop clicks from when silence occurs to real voice
- Add: Added audio fade out when audio silence is about to start
- Add: Subscription to codec events that occur


Beta version 1.0 3002f
- Fix: Audio starvation due to inexact Hz rate differences calculated and packets are adjusted for this rate
- Fix: DTMF tones on the keypad


Beta version 1.0 3002e
- Fix: 1428: Fixes to popping to the top when a call comes in
- Fix: 1430: Toggling "Always on top" causes dead windows to appear
- Fix: 1435: Concealment was firing too many times when a packet was lost
- Fix: Will not cause jitter when silence occures by delaying outgoing packets
- Fix: Duplicate settings dialogs occurred occasionally during license key validation
- Fix: Never use marker bit packet for keep-alives
- Add: Added jitter simulation to help when testing on various networks
- Add: Exposed adaptive jitter buffer settings
- Fix: Ensure that proxy number for dialed/received calls is correct
- Fix: Eliminate Hold button flicker


Beta version 1.0 3002d
- Fix: 1408: Give the screen buttons a transparent background
- Fix: 1288: Esc should cancel a contact/call drag-and-drop
- Fix: 1421: Handle windows going off-screen
- Fix: 1386 and 1419: Exchanging SDP with remote party that does not include attributes for well known codecs would fail
- Fix: Some sending audio improvements to stop marker bit being set at incorrect times
- Fix: Dynamic jitter buffer modifications


Beta version 1.0 3002c
- Fix: 1158: Don't set the "atwiz_has_been_shown" variable until it *really* has been seen
- Add: import old X-PRO contacts & proxy settings


Beta version 1.0 3002b
- Fix: Incoming video stopped when drawer was closed
- Fix: Marker bit was not being set on new burst of audio data
- Change: Removed Xtunnels v2.0 from settings
- Change: *.ecl contact list renamed to *.csv
- Fix: 1391: When remote SDP updates, force audio data to transmit to open firewall pinhole


Beta version 1.0 3002a
- Fix: 1370: Added a "show only the messages waiting" mode to the proxy status dialog
- Fix: 1383: Let the video manager do the rendering even if I don't have a camera
- Fix: 1358: Disable the [Video Tools] buttons if there is no camera
- Fix: 1386: rtpmap was needlessly required for well known codecs


Beta version 1.0 3001z
- Fix: EVRC update
- Fix: DTMF tone now correctly sends end of tone event
- Fix: Potential crash in audio streams when in a conference
- Fix: 1354: Get rid of the "Phone with Video" menu items
- Fix: 1340: Get rid of the "Send Instant Message" menu items
- Fix: 1355: Put "Conference in" in all the menus
- Add: Xtunnels v1 username and password support
- Add: Modifying any Xtunnels settings will restart (if necessary) Proxy discovery


Beta version 1.0 3001y
- Fix: 2833 DTMF bug caused application to crash
- Fix: Several drop lists in settings allowed for manual entry
- Add: License key supprt
- Add: Added local socket overflow routines for video backoff
- Add: Product version and build information now shown in the settings dialog
- Add: Web based help via question-mark icon in the GUI
- Add: Support for INFO
- Add: Xtunnels version 1 client support
- Change: Disable presence from the settings dialog
- Change: Privacy by default setting removed
- change: Ability to handle overlapping 200 ACK retransmissions from different invite transactions


Beta version 1.0 3001x
- Fix: 1281: Fix stuck hot-tracking with a timer
- Fix: Cut down on SDP size by not including redundant c= lines
- Fix: Ignore empty SDP media with no supported formats


Beta version 1.0 3001w
- Fix: 1328: Hot-tracking is broken on the floating windows
- Add: 1284: GUI buttons should be able to be non-rectangular


Beta version 1.0 3001v
- No changes posted.


Beta version 1.0 3001u
- Fix: 1321. Implemented most of the hotkeys from version 2.0.
- Fix: Settings dialog sometimes managed boolean settings
- Fix: Clearing a proxy in the middle of the proxy list caused problems
- Add: Basic IM GUI components


Beta version 1.0 3001t
- No changes posted


Beta version 1.0 3001s
- Fix: RTP timestamps for video were incorrect, causing lags while displaying images
- Fix: Enabled CIF transmission of video
- Fix: 1186. Contact list: Don't do a select when right-clicking on a root node


Beta version 1.0 3001r
- Fix: 1172: Be extra smart about setting and clearing the WS_EX_LAYERED flag, so that our windows don't go black when a dialog box comes up
- Fix: 1305: Apply name consistently: Tuning Wizard
- Fix: 1308: Prevent premature msg area painting, to prevent text from being displayed on top of other text
- Fix: 1309: Don't disable the "Tuning Wizard" menu item
- Change: Proxy status dialog now shows disabled proxies


Beta version 1.0 3001q
- Fix: 1275: When the user adds a contact, don't let "Banned" ever be the default group it gets added to
- Fix: 1296: Tab order was incorrect on some settings dialog pages
- Fix: 1292: Video strings were internationalized
- Fix: Hardware accelerated drawing failed after doing a ctrl-alt-delete
- Add: Keyframe rate setting 
- Add: 1289: Put up a wait cursor until we're ready to go


Beta version 1.0 3001p
- Fix: Mute frames would not be sent out after first call
- Fix: 1277: Don't let Ctrl+7 dial a 7
- Add: Video codec configuration
- Add: User name to proxy status dialog
- Change: Make the Audio Tuning Wizard more user-friendly and iron out a few bugs in the process


Beta version 1.0 3001o
- Add: Video quality setting, defaults to average
- Add: GOB frame splitting for H.263
- Add: Retry intervals for proxy re-registration


Beta version 1.0 3001n
- Fix: Added high pass filter for removing 50/60 Hz DC noise
- Fix: Various audio playback tweeks
- Fix: Direct dial IP works now
- Fix: Failure to use hardware acceleration will now revert back to non-accelerated modes
- Fix: Hardware acceleration setting will be disabled for systems that do not support it
- Change: Added starting outgoing frame rate setting 
- Change: Added support for YUY2 hardware accelerated surfaces
- Change: Improved RTCP video backoff routines


Beta version 1.0 3001m
- Fix: Video was sometimes scrambled in the audio/video tuning wizard
- Fix: Audio panic fixes to help with network jitter issues


Beta version 1.0 3001l
- Fix: Timebomb bug causes application to expire early


Beta version 1.0 3001k
- Fix: Internationalize the Audio Tuning Wizard
- Fix: Reduced CPU requirements for video
- Fix: conferencing behaviour changes
- Add: USB audio device configuration page in the settings dialog
- Change: forced eyeBeam to reduce frame rate for non-compliant camera drivers
- Change: video settings now reload every time the video drawer is opened
- Add: Build timestamp to diagnostic log for internal debugging purposes


Beta Version 1.0 3001j
- Add: Support for 640x480 video modes
- Fix: GUI "Initializing..." now shows up earlier in the load sequence
- Fix: Delete calls in the contact list didn't always stay deleted


Beta Version 1.0 3001i
- Add: Settings dialog now disables the input of IP addresses when "Auto-detect IP" is checked
- Add: Last registration time now shown in proxy status dialog
- Fix: Video conferencing now removes self-image from each outgoing video stream 
- Fix: Audio quality fix
- Fix: Allow for 0 version number in SDP
- Fix: Offers video regardless of remote party offering video or not
- Fix: Several bugs in conferencing behaviour
- Change: Overhaul to internal video frame routines -- should reduce CPU requirements for peer to peer
- Change: Added validation to some fields in the settings dialog
- Fix: Attempting to load a new instance of the program will now bring the old instance to the foreground


Beta Version 1.0 3001h
- Add: Diagnostic window now saves it size and position
- Fix: Changing maximum outgoing video frame rate now affects local frame rate
- Fix: Changed diagnostic window time-stamp from UTC to local time
- Fix: Button highlights and tooltips disabled when eyeBeam is not in focus
- Fix: Deleting a banned contact no longer causes the tree to collapse
- Fix: Hitting "Clear" for a proxy now causes a reset of all settings for that proxy slot
- Fix: Running at different Hz rate works
- Add: Now have a new "Cancelled Call" state for when you manually cancel a dialed call
- Add: Call lists now include a `Cancelled' flag to indicate that the user cancelled the call prematurely


Beta Version 1.0 3001g
- Add: Per proxy setting for loose to-tag matching
- Change: Presence settings added -- inactive for now
- Fix: Call duration in Dialed Calls list is now accurate (bug 1198)
- Fix: Switching to speaker-phone mode while remote party is ringing no longer causes a dial tone (bug 1209)
- Fix: `Your number is:' now gives the username from the most recent proxy registration (bug 1218)
- Fix: When you dial somebody from your contact list, their name is displayed rather than their URI (bug 1206)
- Fix: `Clear' button now causes a `Your number is:' message when the number you're dialing is empty (bug 1225)
- Fix: Miscellaneous line state bugs that caused inactive lines to be marked as incoming or active
- Fix: `Add to Contacts' no longer displayed if the remote party is already in your contact list (bug 1231)

Beta Version 1.0 3001f
- Fix: Weights are now correct for broadband/dialup
- Fix: Now causes voice activity for VOX the moment hold is taken off hold or adding a new outgoing stream
- Fix: Duplicate dialogs when all proxy settings cleared in settings dialog
- Fix: Dialed call list will use name instead of proxy address if initiated from the contact list
- Add: Can now paste text into the display by using control-V
- Add: Implemented contact list tooltip for contact-specific information
- Add: SIP added call transfer
- Change: Performance increase for I420/IYUV video conversion routines


Beta Version 1.0 3001e

- Add: Settings dialog changes now cause register/re-register/deregister
       of proxy on the fly when proxy settings change. 
- Add: More diagnostic logging of proxy states at the same time.
- Add: Additional diagnostics for video mode enumeration
- Add: Support for DirectX VideoInfoHeader2 formats 
       Should resolve some issues with video/tuner capture cards
- Add: SIP loose-tag matching for non-standard proxies
- Add: ***999 from the keyboard causes a settings reset (back to factory default settings)
- Change: removed proxy/presence menus from the settings dialog
- Change: Changed name of "buddy" list to "contact" list
- Change: Made contact list menus more consistent


Beta Version 1.0 3001d

- Fix: certain RGB24 video camera modes caused application crash


Beta Version 1.0 3001c

- Add: EULA to the installer
- Add: Start with Windows and quick launch icon to installer
- Add: RFC 3264 hold "sendonly" compliance
- Fix: Incorrect build stamp for release build
- Fix: Modified camera display so initial gray frames will no longer be displayed
- Fix: Settings dialog is now displayed when proxy settings are non-existant or incorrect
- Change: Made the default inactive opacity 100% instead of 70%


Beta Version 1.0 3001b

- Fix: Text error in audio/video tuning wizard video page
- Fix: SIP CANCEL now works without 180
- Fix: hardware accelerated video rendering stability issues
- Change: Behaviour of setting's dialog menus


Beta Version 1.0 3001a

- Fix: SIP 407 in response to a BYE will be handled correctly

